STEP |
Video enabled ? |
ACTION |
IF ERROR |
COMMENT |
---|---|---|---|---|
1 | No | checkpoint 00 | ||
2 | No | Part 1 of CPU test. | If an error, send checkpoint 80 (hex) then halt. | |
3 | No | checkpoint 01 | ||
4 | No | Part 2 of CPU test. | If an error, send checkpoint 80 (hex) then halt. | |
5 | No | checkpoint 02 | ||
6 | No | See if 8-bit checksum of ROM is 00h. | If not 00h, send checkpoint 81 (hex) then halt. | ROM = Ruud's Diagnostic ROM |
7 | No | checkpoint 03 | ||
8 | No | Quote: 'Initialise the 8255 multi-port chip' | ||
9 | No | Quote: 'Make sure that turbo is off and disable memory parity' | ||
10 | No | Quote: 'Disable NMI interrupts' | ||
11 | No | Quote: 'Enable the expansion unit' | Extender card for IBM 5161. | |
12 | No | Quote: 'Disable the CGA and MDA video system ...' | ||
13 | No | Quote: 'Initialise the MDA port' | ||
14 | No | Quote: 'Initialise the CGA port' | ||
15 | No | Look for MDA or CGA video RAM. | If neither found, send checkpoint 8F then halt. | MDA or CGA video card required by this diagnostic. |
16 | No | Test 96 bytes of the found video RAM. | If test unsuccessful, send checkpoint 8F then halt. | Video RAM is used by this diagnostic for a stack and many error counters. |
17 | No | Initialise MDA or CGA card. | ||
18 | No | checkpoint 04 | ||
19 | No | Quote: 'Clear the video screen' | ||
20 | No | checkpoint 05 | ||
21 | No | Quote: 'Set the correct mode', then 'Make the cursor invisible' | ||
22 | No | checkpoint 06 | ||
23 | Yes | Quote: 'Prepare the RAM for storage' | Zero the error counters that the diagnostic stores in video RAM. | |
24 | Yes | checkpoint 07 | ||
25 | Yes | On-screen, display the name of the program and the version. | ||
26 | Yes | Beep the speaker. | A single beep. | |
27 | Yes | checkpoint 08 | ||
28 | Yes | Display "Testing CPU" | ||
29 | Yes | checkpoint 09 | ||
30 | Yes | Part 1 of CPU test. | If an error, send checkpoint 82 (hex) then halt. | |
31 | Yes | checkpoint 0A | ||
32 | Yes | Part 2 of CPU test. | If an error, send checkpoint 82 (hex) then halt. | |
33 | Yes | checkpoint 0C | ||
34 | Yes | Display "Diagnostic ROM checksum" | ||
35 | Yes | checkpoint 0E | ||
36 | Yes | See if 8-bit checksum of ROM is 00h. | If not 00h, send checkpoint 83 (hex) then halt. | Checkpoint 83 (hex) will never occur, because this check was done earlier at step 6. |
37 | Yes | checkpoint 12 (hex) | ||
38 | Yes | Quote: 'Disable the DMA controller' | ||
39 | Yes | Quote: 'Disable the speakers and enable timer 2' | ||
40 | Yes | checkpoint 16 (hex) | ||
41 | Yes | Display "8253 timer channel 0" | ||
42 | Yes | Test 8253 timer channel 0. | If an error, send checkpoint 86 (hex). | |
43 | Yes | checkpoint 18 (hex) | ||
44 | Yes | Display "8253 timer channel 1" | ||
45 | Yes | Test 8253 timer channel 1. | If an error, send checkpoint 88 (hex). | |
46 | Yes | checkpoint 1A | ||
47 | Yes | Display "8253 timer channel 2" | ||
48 | Yes | Test 8253 timer channel 2. | If an error, send checkpoint 8A. | |
49 | Yes | checkpoint 1C | ||
50 | Yes | Display "8237A DMA controller" | ||
51 | Yes | checkpoint 1E | ||
52 | Yes | Test the 8237A DMA controller. checkpoint 22 will be output many times during this test. |
If an error, send checkpoint 8B then halt. | |
53 | Yes | checkpoint 24 (hex) | ||
54 | Yes | Quote: 'Init the DMA and 8253 so the DRAM will be refreshed from now on' | ||
55 | Yes | checkpoint 26 (hex) | ||
56 | Yes | Display "8255 parity check" | ||
57 | Yes | checkpoint 28 (hex) | ||
58 | Yes | Quote: 'Check if a parity error occurs even if the parity check has been disabled' | ||
59 | Yes | Parity error? | If a parity error, send checkpoint 8C. | The 8255 chip should not be signaling that a parity error was detected. |
60 | Yes | checkpoint 2A | ||
61 | Yes | Display "Check first 2 KB of RAM" | ||
62 | Yes | checkpoint 2E | ||
63 | Yes | Check the first 2 KB of RAM. | If an error, send checkpoint 8E then put error details on-screen, then halt the CPU. | |
... | ||||
... | ||||
... | ||||
... | ||||
... | ||||
... | ||||
... |